<template>
  <div class="home">
    <h1>todo</h1>
    <p>{{store.doubleCount }}</p>
    <button @click="store.addNum(1)">{{ store.num }}</button>
    用户名：<input type="text" v-model="userInfo.name"> <br>
    密码：<input type="passord" v-model="userInfo.password"> <br> 
    <button @click="store.login(userInfo)">登录</button>

  </div>
</template>
<style lang="scss" scoped>
.home h1{
  color:red;
}
</style>
<script lang="ts" setup>
import {useMainStore} from '@/stores/main'
import {ref} from 'vue'
const store  = useMainStore()
const userInfo = ref({name:'',password:''});

// type Partial<T> = {
// 	[P in keyof T]?:T[P]
// }
// type Ipeople = {
//   name:string
//   age:number
// }
// type IPerson = Partial<Ipeople>;

// let obj:IPerson = {
//   name:"mumu",
//   // good:"abc"
// }

// function printLength<T>(arg:T):T{
// 	console.log(arg.length)
// 	return arg;
// }
// interface UserInfo{
// 	name:strig
// 	age:number
// }
// function request<T>(url:string):Promise<T>{
// 	return fetch(url).then(res=>res.json())
// }
// request<UserInfo>("user/info").then(res=>{
// 	// res.age
//   // res.name
// })
// interface ISum{
// 	(x:number,y:number):number
// }

// const add:ISum = (n1,n2)=>n1+n2

// var re = add(4,8);
// console.log(re);
// var tuple:[string,number] = ["123",456]
// console.log(tuple[0])
// import { hasOwn } from '@vue/shared';
// import {ref,computed} from 'vue'
// interface TodoItem{
//   msg:string,
//   done:boolean
// }
// const todoMsg = ref<string>('');

// const lists  = ref<TodoItem[]>([
//   {msg: '吃饭', done: true},
//   { msg: '睡觉', done: false},
//   { msg: '打游戏', done: false}
// ])

// const hasdown= computed(()=>lists.value.filter(item=>item.done).length)
// const isAllDone = computed<boolean>({
//   get(){
//     return hasdown.value === lists.value.length
//   },
//   set(value:boolean){
//     lists.value.forEach(item=>item.done = value)
//   }
// })

// const add = ()=>{
//   if(todoMsg.value){
//     lists.value.push({
//       msg:todoMsg.value,
//       done:false
//     })
//   }
// }

// const deleteItem = (index:number)=>{
//   lists.value.splice(index,1);
// }
</script>